import store from '../store'
class CampaignTimer {
  constructor() {
    this.campaignTimers = []
  }

  initTimers = ({ campaigns }, websiteToken) => {
    this.clearTimers()
    campaigns.forEach(campaign => {
      const { timeOnPage, id: campaignId } = campaign
      this.campaignTimers[campaignId] = setTimeout(() => {
        store.dispatch('campaign/startCampaign', { campaignId, websiteToken })
      }, timeOnPage * 1000)
    })
  }

  clearTimers = () => {
    this.campaignTimers.forEach(timerId => {
      clearTimeout(timerId)
      this.campaignTimers[timerId] = null
    })
  }
}
export default new CampaignTimer()
